home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
101-125
/
disk_107
/
prosuite
/
xtext
/
xtext.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
3KB
|
126 lines
#ifndef XTEXT_H
#define XTEXT_H
/* *** xtext.h **************************************************************
*
* XText Routines
* from Book 1 of the Amiga Programmers' Suite by RJ Mical
*
* Copyright (C) 1986, 1987, Robert J. Mical
* All Rights Reserved.
*
* Created for Amiga developers.
* Any or all of this code can be used in any program as long as this
* entire notice is retained, ok? Thanks.
*
* HISTORY NAME DESCRIPTION
* ----------- -------------- --------------------------------------------
* 27 Oct 86 RJ Add XText buffer stuff, prepare for release
* March 86 RJ Incorporated this code in Sidecar
* 26 Jan 86 RJ Mical Created this file (on my birthday!)
*
* *********************************************************************** */
#include <exec/types.h>
#include <exec/memory.h>
#include <intuition/intuition.h>
/* === System Macros ==================================================== */
#define SetFlag(v,f) ((v)|=(f))
#define ClearFlag(v,f) ((v)&=~(f))
#define ToggleFlag(v,f) ((v)^=(f))
#define FlagIsSet(v,f) ((BOOL)(((v)&(f))!=0))
#define FlagIsClear(v,f) ((BOOL)(((v)&(f))==0))
/* === XText Support Structure =========================================== */
struct XTextSupport
{
BYTE FrontPen, BackPen;
BYTE DrawMode;
BYTE MaxTextWidth;
SHORT CharHeight;
SHORT Flags;
UBYTE *NormalTextPlane;
UBYTE *InverseTextPlane;
UBYTE *AllClearPlane;
UBYTE *AllSetPlane;
struct Remember *XTextKey;
struct RastPort *OutputRPort;
SHORT FontSelect; /* Definitions for FontSelect are below */
UBYTE *FontData[8];
struct BitMap TextBitMap;
};
/* === FontSelect Definitions === */
/* Though these are given names, these are basically just indices into the
* FontData array.
*/
#define NORMAL_FONT 0 /* The default, don'cha know */
#define BOLD_FONT 1
#define ULINE_FONT 2
#define ULINE_BOLD_FONT 3
#define ITALIC_FONT 4
#define ITALIC_BOLD_FONT 5
#define ITALIC_ULINE_FONT 6
#define ITALIC_ULINE_BOLD_FONT 7
/* === XTextSupport Flags Definitions === */
#define SLIM_XTEXT 0x0001
/* === XText Miscellaneous Definitions =================================== */
#define XTEXT_CHARWIDTH 8 /* This is sacrosanct */
/* The ITALIC_LEFT_EDGE is used to determine which slice of the italic
* imagery is used for the font imagery.
* The value of this constant is used as the starting left column of
* font imagery after italics have been applied to the font.
* If you haven't the foggiest notion what this means, leave this
* constant alone and you'll be OK.
*/
#define ITALIC_LEFT_EDGE 1
/* === Function Definitions ============================================== */
UBYTE *AllocMem();
UBYTE *AllocRemember();
struct XTextSupport *MakeXTextSupport();
struct TextFont *OpenDiskFont();
struct TextFont *OpenFont();
UBYTE *OpenLibrary();
struct Screen *OpenScreen();
struct TmpRas *InitTmpRas();
struct Window *OpenWindow();
/* === And finally, eglobal inclusion ==================================== */
#ifndef EGLOBAL_CANCEL
#include "eglobal.c"
#endif
#endif /* of XTEXT_H */